"""
1、根据用例发送对应方法（get,post,...）的http请求
2、根据动态的请求不同请求参数json,params,data,headers,cookies
发送http请求封装模块
"""

import requests


def send_http_request(url, method, **kwargs) -> requests.Response:
    """
    :param url:传入的url
    :param method:传入的方法
    :param kwargs:传入的其他参数比如：params,,data,json,headers,cookies....
    :return:返回response对象
    """
    # 方法小写化，防止误传
    method = method.lower()
    # 获取对应的方法
    response = getattr(requests, method)(url=url, **kwargs)
    # 返回响应对象
    return response


if __name__ == '__main__':
    case = {
        'id': 1,
        'title': '注册成功',
        'method': 'post',
        'url': 'https://api.uomg.com/api/rand.qinghua',
        'headers': '待定',
        'request_data': {"format": "json"},
        'expect_response': '待定',
    }

    res = send_http_request(url=case['url'], method=case['method'], json=case['request_data'])
    print(res.json())
